Sorbonne Université, Deep Leaning Project, Mars 2020 : Charly Nana Konguep

COMPUTER VISION PROJECT

Image classification with Tensorflow and Keras

Introduction

In this project, we are interested in the classification of images into two classes. The images of the study are images of the real world, complex to classify, because all the images do not have the same size, the same shape, they are not monochrome or even centered. In addition, on some images, we observe humans and various backgrounds: which complicates the task of classification for the models.

The database consists of 3000 image files divided into two folders. A cats folder made up of 1500 cat images and adogs folder made up of 1500 dog images.

Project Structure

Task #1: Import Libraries and Data Preprocessing

Task #2: Visualize Examples

Task #3: Create model from scratch

Task #4: Data Preprocessing : Build Image Data Generator

Task #5: Train Model

Task #6: Visualization of the Accuracy and Loss

Task #7: Data Augmentation and Re-training of the model

Task #8: Transfert Learning with Data Augmentation

Task #9: Assess the performance of the trained model

Task #1 : Import Libraries and Data Preprocessing

Import cats_vs_dogs dataset

Data Splitting

Task #2: Visualize Examples

Task #3 : Create model from scratch

Task #4: Data Preprocessing

Task #5: Train Model

Task #6 : Visualization of the Accuracy and Loss

Task #7 : Data Augmentation and Re-training of the model

Task #8 : Transfert Learning with Data Augmentation

Use transfert learning to improve performances of the model. We use the weights of a pre-trained InceptionV3 model on the ImageNet database for the transfer learning

Import a model inception architecture and load the weigths file

Choice of a layer in the InceptionV3 Model

We select one layer : for example mixed8 layer.

Building of the Model

We will use the Droupout layer to regularize the model

Data Augmentation

Training

Task #9 : Assess the performance of the trained model